#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, a, b, cnt = 3;
cin >> n;
vector<int> ans;
bool c[n + 1] = {};
vector<int> v[n + 1];
for (int i = 1; i <= n; i++) {
cin >> a >> b;
v[i].push_back(a);
v[i].push_back(b);
}
ans.push_back(1);
int tmp;
if (v[v[1].front()].front() == v[1].back() or v[v[1].front()].back() == v[1].back()) {
ans.push_back(v[1].front());
ans.push_back(v[1].back());
tmp = v[1].front();
}
else {
ans.push_back(v[1].back());
ans.push_back(v[1].front());
tmp = v[1].back();
}
c[1] = 1, c[v[1].front()] = 1, c[v[1].back()] = 1;
while (cnt < n) {
if (c[v[tmp].front()]) {
ans.push_back(v[tmp].back());
c[v[tmp].back()] = 1;
tmp = v[tmp].front();
}
else {
ans.push_back(v[tmp].front());
c[v[tmp].front()] = 1;
tmp = v[tmp].back();
}
cnt++;
}
for (auto x : ans) cout << x << " ";
cout << "\n";
}
1637C - Andrew and Stones | 1334B - Middle Class |
260C - Balls and Boxes | 1554A - Cherry |
11B - Jumping Jack | 716A - Crazy Computer |
644A - Parliament of Berland | 1657C - Bracket Sequence Deletion |
1657B - XY Sequence | 1009A - Game Shopping |
1657A - Integer Moves | 230B - T-primes |
630A - Again Twenty Five | 1234D - Distinct Characters Queries |
1183A - Nearest Interesting Number | 1009E - Intercity Travelling |
1637B - MEX and Array | 224A - Parallelepiped |
964A - Splits | 1615A - Closing The Gap |
4C - Registration System | 1321A - Contest for Robots |
1451A - Subtract or Divide | 1B - Spreadsheet |
1177A - Digits Sequence (Easy Edition) | 1579A - Casimir's String Solitaire |
287B - Pipeline | 510A - Fox And Snake |
1520B - Ordinary Numbers | 1624A - Plus One on the Subset |